package me.zhengjie.utils;

import com.aspose.words.Document;
import com.aspose.words.ImageSaveOptions;
import com.aspose.words.PageSet;
import com.aspose.words.SaveFormat;

import java.io.File;
import java.nio.file.Paths;

public class WordToJpg {

    public static void convertWordToJpg(String i, String o) throws Exception {
        // 输入Word文档路径
        String inputPath = i;
        // 输出目录
        String outputDir = o;

        // 创建输出目录（如果不存在）
        new File(outputDir).mkdirs();

        // 加载Word文档
        Document doc = new Document(inputPath);

        // 设置图片保存选项
        ImageSaveOptions options = new ImageSaveOptions(SaveFormat.JPEG);
        options.setResolution(300); // 设置DPI
        options.setJpegQuality(90); // 设置JPEG质量

        // 获取文档总页数
        int pageCount = doc.getPageCount();
        System.out.println("文档总页数: " + pageCount);

        // 逐页保存为图片
        for (int pageIndex = 0; pageIndex < pageCount; pageIndex++) {
            // 设置当前要渲染的页码
            options.setPageSet(new PageSet(pageIndex));

            // 构建输出文件名
            String outputPath = Paths.get(outputDir, String.format("page_%02d.jpg", pageIndex + 1)).toString();

            // 保存当前页为图片
            doc.save(outputPath, options);
            System.out.println("已保存: " + outputPath);
        }

        System.out.println("转换完成！");
    }
}
